﻿using SqlSugar;
using static DataModels.Enums.AuthCore.UserEnum;
using static DataModels.Enums.GeneralEnum;

namespace DataModels.Entities.AuthCore
{
    /// <summary>
    /// 用户删除记录表实体
    /// 用于存储被删除用户的历史信息
    /// </summary>
    [SugarTable("UserDeletedRecord")]
    public class UserDeletedRecord
    {
        /// <summary>
        /// 自增主键ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public long Id { get; set; }

        /// <summary>
        /// 用户唯一标识，对应User表的UUID
        /// </summary>
        public Guid UUID { get; set; }

        /// <summary>
        /// 用户注销/删除时间
        /// </summary>
        public DateTime DeleteTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 执行删除操作的IP地址
        /// </summary>
        public string IP { get; set; }

        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// 微信唯一标识
        /// </summary>
        public string VXOpenId { get; set; }

        /// <summary>
        /// 登录名
        /// </summary>
        public string LoginName { get; set; }

        /// <summary>
        /// 密码（加密存储）
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// 显示名称/昵称
        /// </summary>
        public string DisplayName { get; set; }

        /// <summary>
        /// 邮箱地址
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// 头像URL
        /// </summary>
        public string AvatarUrl { get; set; }

        /// <summary>
        /// 用户性别
        /// </summary>
        public Gender Gender { get; set; }

        /// <summary>
        /// 出生日期
        /// </summary>
        public DateTime Birthday { get; set; }

        /// <summary>
        /// 注册类型
        /// </summary>
        public RegisterType RegisterType { get; set; }

        /// <summary>
        /// 用户状态
        /// </summary>
        public UserStatus Status { get; set; }

        /// <summary>
        /// 用户注册时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 是否为医院用户
        /// </summary>
        public int IsHospital { get; set; }
        /// <summary>
        /// 组织uuid
        /// </summary>
        public string OrganiztionsUUID { get; set; }
        /// <summary>
        /// 职位uuid
        /// </summary>
        public string PositionUUID { get; set; }
        /// <summary>
        /// 楼栋列表
        /// </summary>
        public string BuildIdS { get; set; }
    }
}